package imotech.ejb.dao;

import imotech.ejb.api.CalendarAPI;
import imotech.ejb.api.SmsAPI;
import imotech.ejb.model.Agendamento;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 * Session Bean implementation class AgendamentoDAOBean
 */
@Stateless
public class AgendamentoDAOBean implements AgendamentoDAO {

	@PersistenceContext(unitName="imotech-ejb")
	private EntityManager em;

	@EJB
	private SmsAPI smsAPI;
	@EJB
	private CalendarAPI calendarAPI;
	
	
	public AgendamentoDAOBean() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void cadastrar(Agendamento agendamento) throws Exception {
		
		//verificar se existe agendamentos para o cliente no mesmo horario
		//verificar se existe agendamentos para o vendedor no mesmo horario
		em.persist(agendamento);
		
		
		try {
			calendarAPI.addEvent(agendamento.getDataHora(), agendamento.getObservacao());
			smsAPI.send(agendamento.getVisitante().getTelefone(), agendamento.getObservacao());
		} catch(Exception e) {
			e.printStackTrace(System.err);
		}
		
		
	}

}
